package com.hera.process.config.rest.delegate;

import java.util.List;
import java.util.Map;

import com.hera.base.util.FiltroDTO;
import com.hera.process.external.domain.AddTableDetail;
import com.hera.process.external.domain.AddTableIndex;
import com.hera.process.external.domain.AdditionalTable;

public interface ExternalDelegate {

	
	//////////////////////////AdditionalTable///////////////////////////////////////////////
	public List<AdditionalTable> findAllAdditionalTables(FiltroDTO filtroDTO);
	public AdditionalTable createAdditionalTable(AdditionalTable addtable);
	public AdditionalTable updateAdditionalTable(AdditionalTable addtable);
	public void deleteAdditionalTable(AdditionalTable addtable);
	
	//////////////////////ADDTABLEDETAIL////////////////////////////////////////////////////
	public List<AddTableDetail> findAllAddTableDetails(FiltroDTO filtroDTO);
	public AddTableDetail createAddTableDetail(AddTableDetail adddetail);
	public AddTableDetail updateAddTableDetail(AddTableDetail adddetail);
	public void deleteAddTableDetail(AddTableDetail adddetail);
	
	//////////////////////ADDTABLEINDEX////////////////////////////////////////////////////
	public List<AddTableIndex> findAllAddTableIndexs(FiltroDTO filtroDTO);
	public AddTableIndex createAddTableIndex(AddTableIndex addindex);
	public AddTableIndex updateAddTableIndex(AddTableIndex addindex);
	public void deleteAddTableIndex(AddTableIndex addindex);
	
	public Map<String, Object> insertMetadata(Map<String, Object> entity);
	public Map<String, Object> selectMetadataById(List<Object> fields);
}
